In many distributed computing environments, such as cloud computing systems, the actual computing resource employed to perform a particular task, execute a particular application, or perform some other computer-related function, may be selected from multiple computing resources located in diverse geographical locations. For example, a particular function may be performed by way of a virtual machine (VM), which may in turn be executed on any number of physical, geographically diverse computing platforms or systems. In some cases, a computing services subscriber requesting the performance or execution of the function from a computing services provider may require that the performance occur subject to one or more geographical restrictions by way of a service level agreement (SLA) between the services subscriber and the services provider. For example, the subscriber may require that the function be performed within a particular country or jurisdiction, such as within the borders of the United States, due to corporate privacy concerns, national export restrictions, business or government contractual requirements, information discovery needs, and the like. Additionally, the subscriber may require that the provider facilitate independent verification of compliance with the geographical restrictions, possibly at runtime.
Typically, to satisfy geographical provisions in an agreement with a services subscriber, a services provider manually enters information identifying the geographical location of each specific computing resource, such as a cloud server, into a database. In addition, the services provider normally updates the database from time to time to reflect recent changes in server locations. As a result, such a process may be subject to human error or intentional misrepresentation.